105 research outputs found
Automatic and Transparent Transfer of Theorems along Isomorphisms in the Coq Proof Assistant
In mathematics, it is common practice to have several constructions for the
same objects. Mathematicians will identify them modulo isomorphism and will not
worry later on which construction they use, as theorems proved for one
construction will be valid for all.
When working with proof assistants, it is also common to see several
data-types representing the same objects. This work aims at making the use of
several isomorphic constructions as simple and as transparent as it can be done
informally in mathematics. This requires inferring automatically the missing
proof-steps.
We are designing an algorithm which finds and fills these missing proof-steps
and we are implementing it as a plugin for Coq
The Rooster and the Syntactic Bracket
We propose an extension of pure type systems with an algebraic presentation
of inductive and co-inductive type families with proper indices. This type
theory supports coercions toward from smaller sorts to bigger sorts via
explicit type construction, as well as impredicative sorts. Type families in
impredicative sorts are constructed with a bracketing operation. The necessary
restrictions of pattern-matching from impredicative sorts to types are confined
to the bracketing construct. This type theory gives an alternative presentation
to the calculus of inductive constructions on which the Coq proof assistant is
an implementation.Comment: To appear in the proceedings of the 19th International Conference on
Types for Proofs and Program
Pure Type System conversion is always typable
International audiencePure Type Systems are usually described in two different ways, one that uses an external notion of computation like beta-reduction, and one that relies on a typed judgment of equality, directly in the typing system. For a long time, the question was open to know whether both presentations described the same theory. A first step toward this equivalence has been made by Adams for a particular class of \emph{Pure Type Systems} (PTS) called functional. Then, his result has been relaxed to all semi-full PTS in previous work. In this paper, we finally give a positive answer to the general issue, and prove that equivalence holds for any Pure Type System.Les Systèmes de Types Purs (PTS) sont habituellement présentés de deux manières différentes, une qui utilise une notion de calcul indépendante du typage, comme la béta-reduction, et une qui défini un jugement d'égalité typée au sein du système de types. La question de savoir si ces deux présentations représentaient la même théorie est restée ouverte pendant de nombreuses années. Une première réponse partielle à cette question a été apportée par Adams pour une classe particulière de PTS dit "fonctionnels". Nous avons récement étendu ce résultat à tous les PTS "semi-complets" . Dans cet article, nous pouvons finalement donner une réponse positive à la question dans toute sa généralité: l'équivalence entre les deux présentations est prouvée correcte pour n'importe quel Système de Types Purs
A continuation-passing-style interpretation of simply-typed call-by-need λ-calculus with control within System F
International audienceAriola et al defined a call-by-need λ-calculi with control, together with a sequent calculus presentation of it, and a mechanically generated continuation-passing-style transformation simulating the reduction. We present here a simply-typed version of this calculus and shows that it maps to System F through the continuation-passing-style transformation. This implies in particular the normaliza-tion of this simply-typed call-by-need calculus with control. Incidentally, we treat bound variables for the continuation-passing-style transformation in a precise way using indices rather than up to α-conversion, what makes it directly implementable
Control Reduction Theories: the Benefit of Structural Substitution
L'article contient une annexe historique par Matthias Felleisen sur la génèse des opérateurs de contrôle à l'université d'Indiana à la fin des années 80.International audienceThe historical design of the call-by-value theory of control relies on the reification of evaluation contexts as regular functions and on the use of ordinary term application for jumping to a continuation. To the contrary, the lambda-C-tp control calculus, developed by the authors, distinguishes between jumps and terms. This alternative calculus, which derives from Parigot's lambda-mu-calculus, works by direct "structural substitution" of evaluation contexts. We review and revisit the legacy theories of control and argue that lambda-C-tp provides an observationally equivalent but smoother theory. In an additional note contributed by Matthias Felleisen, we review the story of the birth of control calculi during the mid to late eighties at Indiana University
On the logical structure of choice and bar induction principles
We develop an approach to choice principles and their contrapositive
bar-induction principles as extensionality schemes connecting an "intensional"
or "effective" view of respectively ill-and well-foundedness properties to an
"extensional" or "ideal" view of these properties. After classifying and
analysing the relations between different intensional definitions of
ill-foundedness and well-foundedness, we introduce, for a domain , a
codomain and a "filter" on finite approximations of functions from
to , a generalised form GDC of the axiom of dependent choice and
dually a generalised bar induction principle GBI such that:
GDC intuitionistically captures the strength of
the general axiom of choice expressed as when is a
filter that derives point-wise from a relation on without
introducing further constraints,
the Boolean Prime Filter Theorem / Ultrafilter Theorem if is
the two-element set (for a constructive definition of prime
filter),
the axiom of dependent choice if ,
Weak K{\"o}nig's Lemma if and (up
to weak classical reasoning)
GBI intuitionistically captures the strength of
G{\"o}del's completeness theorem in the form validity implies
provability for entailment relations if ,
bar induction when ,
the Weak Fan Theorem when and .
Contrastingly, even though GDC and GBI smoothly capture
several variants of choice and bar induction, some instances are inconsistent,
e.g. when is and is .Comment: LICS 2021 - 36th Annual Symposium on Logic in Computer Science, Jun
2021, Rome / Virtual, Ital
Abstract machines for dialogue games
The notion of abstract Boehm tree has arisen as an operationally-oriented distillation of works on game semantics, and has been investigated in two papers. This paper revisits the notion, providing more syntactic support and more examples (like call-by-value evaluation) illustrating the generality of the underlying computing device. Precise correspondences between various formulations of the evaluation mechanism of abstract Boehm trees are established
A Type-Theoretic Foundation of Delimited Continuations
International audienceThere is a correspondence between classical logic and programming language calculi with first-class continuations. With the addition of control delimiters, the continuations become composable and the calculi become more expressive. We present a fine-grained analysis of control delimiters and formalise that their addition corresponds to the addition of a single dynamically-scoped variable modelling the special top-level continuation. From a type perspective, the dynamically-scoped variable requires effect annotations. In the presence of control, the dynamically-scoped variable can be interpreted in a purely functional way by applying a store-passing style. At the type level, the effect annotations are mapped within standard classical logic extended with the dual of implication, namely subtraction. A continuation-passing-style transformation of lambda-calculus with control and subtraction is defined. Combining the translations provides a decomposition of standard CPS transformations for delimited continuations. Incidentally, we also give a direct normalisation proof of the simply-typed lambda-calculus with control and subtraction
A Lambda-calculus Structure Isomorphic to Gentzen-style Sequent Calculus Structure
International audienceWe consider a lambda-calculus for which applicative terms have no longer the form (...((u u_1) u_2) ... u_n) but the form (u [u_1 ; ... ; u_n]), for which [u_1 ; ... ; u_n] is a list of terms. While the structure of the usual lambda-calculus is isomorphic to the structure of natural deduction, this new structure is isomorphic to the structure of Gentzen-style sequent calculus. To express the basis of the isomorphism, we consider intuitionistic logic with the implication as sole connective. However we do not consider Gentzen's calculus LJ, but a calculus LJT which leads to restrict the notion of cut-free proofs in LJ. We need also to explicitly consider, in a simply typed version of this lambda-calculus, a substitution operator and a list concatenation operator. By this way, each elementary step of cut-elimination exactly matches with a beta-reduction, a substitution propagation step or a concatenation computation step. Though it is possible to extend the isomorphism to classical logic and to other connectives, we do not treat of it in this paper
- …